package simpleapplications;

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class ClassPublicMethods {
	public static void main(String[] args) {
		try {
			Student s = new Student();
			Class<?> c = s.getClass();
			System.out.println("Public Methods:");
			Method methods[] = c.getDeclaredMethods();//返回一個Method對象數組，该数组只描述这个类声明的方法，不包含从超类继承的方法
			for (int i = 0; i < methods.length; i++) {
				int modifiers = methods[i].getModifiers();//放回一个包含标志的int值，标志描述了为数组元素应用了哪个修饰符，
				if (Modifier.isPublic(modifiers)) {//如过标志设置了Public修饰符返回true，否则返回false
					System.out.println(" " + methods[i].getName());
				}

			}
		} catch (Exception e) {
			System.out.println("Exception" + e);
		}

	}
}
